/**
 * （数据的）依赖收集者
 */
export default class Dep {
  // 用来存放依赖（Wacher实例）
  subs = [];

  // 静态属性，用于存放当前Watcher
  static target = null;

  constructor() {}

  // 添加一个依赖Watcher
  addSub() {}

  // 收集依赖
  depend() {
    if (Dep.target && !this.subs.includes(Dep.target)) {
      this.subs.push(Dep.target);
    }
  }

  // 通知依赖
  notify() {
    for (const watcher of this.subs) {
      watcher.update();
    }
  }
}
